﻿/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR IV                             /// 
///                         PROYECTO SICOPS 2011                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                    ************PEGASO*************                        /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///       CLASE DE ADMINISTRACION DE LA TABLA ASIGNACION PRODUCTOS            ///
/////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.Data.Common;
using System.Drawing;
//Case para la administracion de la tabla de asignacion de bienes
namespace LogisticaDeAcceso.ClasesDeAcceso
{
    public class clsAsignacionBienes
    {
        private SqlCommand SqlProSeleccionar;
        private SqlConnection SqlProConexion;
        private SqlDataAdapter SqlProAdaptador;

        //Configuracion del procedimiento para ver todos los datos que dependan de este pedido
        public void metConfigurarMostrarBienes(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion; 
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_MostrarNumPedBienes";//Procedimiento
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Numero", SqlDbType.VarChar, 5)});
            // 
   
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Activacion del procedimiento para ver todos los datos que dependan de este pedido

        public void metActivarMostrarBienes(ColeccionDeDatos Col,string Num)
        { 
        SqlProAdaptador.SelectCommand.Parameters["@Numero"].Value=Num;//Ingreso del numero del pedido en form de parametro
        SqlProAdaptador.Fill(Col.sp_MostrarNumPedBienes);
        }
      
        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// Cofiguracion de la vista que muestra los pedido asignados//////////////////////////////////////////////



        public void metConfigurarMostrarPedido(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarPedidosRegistrados.*\r\nFROM         vs_MostrarPedidosRegistra" +
                "dos";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
         
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            this.SqlProAdaptador.TableMappings.AddRange(new DataTableMapping[] {
            new DataTableMapping("Table", "vs_MostrarPedidosRegistrados", new DataColumnMapping[] {
                        new DataColumnMapping("intNumeroPed", "intNumeroPed")})});
        }
        //
        /// /Activacion de la vista que muestra los pedido asignados
        public void metActivarMostarPedido(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarPedidosRegistrados);
        }

        /// /////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// Configuracion del metodo de ingresar datos//////////////////////////////////////////////////////////////

        public void metConfigurarIngresarAsignacionB(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_IngresarAsignarProducto";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;//Verificacion del tipo de llamado
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            //Declaracion de los parametros del procedimiento
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 15),
            new SqlParameter("@CodProv", SqlDbType.VarChar, 15),
            new SqlParameter("@Gara", SqlDbType.VarChar, 15),
            new SqlParameter("@fecha", SqlDbType.DateTime, 8),
            new SqlParameter("@Mod", SqlDbType.VarChar, 30),
            new SqlParameter("@Observ", SqlDbType.VarChar, 100),
            new SqlParameter("@Estado", SqlDbType.VarChar, 30),
            new SqlParameter("@FechaEntre", SqlDbType.DateTime, 8)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        /// Configuracion del metodo de ingresar datos
        public void metActivarIngresarAsignacionB(string Codigo,string CodProv,string Gara,string fecha,string Mod,string Observ,string Estado,string FechaEntre)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;
            SqlProAdaptador.SelectCommand.Parameters["@CodProv"].Value = CodProv;
            SqlProAdaptador.SelectCommand.Parameters["@Gara"].Value = Gara;
            SqlProAdaptador.SelectCommand.Parameters["@fecha"].Value =fecha;
            SqlProAdaptador.SelectCommand.Parameters["@Mod"].Value = Mod;
            SqlProAdaptador.SelectCommand.Parameters["@Observ"].Value = Observ;
              SqlProAdaptador.SelectCommand.Parameters["@Estado"].Value = Estado;
            SqlProAdaptador.SelectCommand.Parameters["@FechaEntre"].Value = FechaEntre;
            SqlProConexion.Open();
            try//Muestra el mensaje que esta en el procedimiento almacenado
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


        //Presentar proveedores registrados 
        public void metConfigurarVistaProveedores(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT        vs_MostrarProveedorAsignados.*\r\nFROM            vs_MostrarProveedor" +
                "Asignados";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
             // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Activacion de la vista de proveedores registrados
        public void metActivarVistaProveedores(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarProveedorAsignados);
        }
        //Presentar bienes asignados
        public void metConfigurarVistaBienesAsignados(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_MostrarAsignacionesProductos";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@textCodigo", SqlDbType.VarChar, 20)});
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;     
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        public void metActivarVistaBienesAsignados(string Codigo,ColeccionDeDatos Col)
        {
            SqlProAdaptador.SelectCommand.Parameters["@textCodigo"].Value = Codigo;
            SqlProAdaptador.Fill(Col.sp_MostrarAsignacionesProductos);
        }
        //Configuracion de cancelacion de bienes
        public void metConfigurarCancelarProducto(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarCancelaProducto";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@CodAsig", SqlDbType.VarChar, 20),
            new SqlParameter("@NumeroP", SqlDbType.VarChar, 20),
            new SqlParameter("@Obs", SqlDbType.VarChar, 200)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Activcar el procedimiento
        public void metActivarCancelarProducto(string CodAsig,string NumeroP,string Obs )
        {
             SqlProAdaptador.SelectCommand.Parameters["@CodAsig"].Value=CodAsig;
             SqlProAdaptador.SelectCommand.Parameters["@NumeroP"].Value=NumeroP;
             SqlProAdaptador.SelectCommand.Parameters["@Obs"].Value=Obs;
             SqlProConexion.Open();
             try//Muestra el mensaje que esta en el procedimiento almacenado
             {
                 SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
             }
             catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
             {
                 MessageBox.Show(auxMensaje.Message);
             }
             SqlProConexion.Close();
        }
        //Presentar configuraciones de asignaciones de registros pendientes
        public void metConfigurarAsignacionesPendientes(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT        vs_MostrarAsignacionesBienesPendientes.*\r\nFROM            vs_Mostra" +
                "rAsignacionesBienesPendientes";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;         
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Activar la vista de presentacion de bienes registrados
        public void metActivarAsignacionesPendientes(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarAsignacionesBienesPendientes);
        }
        //Configuracion de los registros pendientes
        public void metConfigurarIngresoPendientes(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarIngresoBien";
            this.SqlProSeleccionar.CommandType = System.Data.CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;

            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Activar la presentacion de los registros pendientes
        public void metActivarIngresoPendientes(string Codigo, string Obs, string Cuenta)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;
            SqlProAdaptador.SelectCommand.Parameters["@Obs"].Value = Obs;
            SqlProAdaptador.SelectCommand.Parameters["@Cuenta"].Value = Cuenta;
            SqlProConexion.Open();
               SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            SqlProConexion.Close();
        }
        //Configuracion de registros activos
        public void metConfigurarRegistrosActivos(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT        vs_MostrarRegistrosBienesActivos.*\r\nFROM            vs_MostrarRegistrosBienesActivos";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Presentar registro activos
        public void metActivarRegistrosActivos(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarRegistrosBienesActivos);
        }
        //Configuracion del procedimiento de eliminar
        public void metConfigurarEliminarReg(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_EliminarRegistroBienes";
            this.SqlProSeleccionar.CommandType = System.Data.CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 23)});
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Activar la eliminacion
        public void metActivarEliminarReg(string Codigo)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;
            SqlProConexion.Open();
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch(Exception M)
            {
                MessageBox.Show(M.Message);
            }
            SqlProConexion.Close();
        }
        //Configurar la modificacion
        public void metConfigurarActualizar(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarRegBieActivarDesactivar";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Estado", SqlDbType.Int, 4),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 40)});
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Activar la modificacion
        public void metActivarActualizar(int Estado, string Codigo)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;
            SqlProAdaptador.SelectCommand.Parameters["@Estado"].Value = Estado;
            SqlProConexion.Open();
            try
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception M)
            {
                MessageBox.Show(M.Message);
            }
            SqlProConexion.Close();
        }
        //Presentar lo s registro inactivos
        public void metConfigurarRegistrosInactivos(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProAdaptador = new SqlDataAdapter();
            this.SqlProConexion = new SqlConnection();
            
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT        vs_MostrarRegistrosBienesInactivos.*\r\nFROM            vs_MostrarRegistrosBienesInactivos";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
        }
        //Activcion del procedimiento de registros
        public void metActivarRegistrosInactivos(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarRegistrosBienesInactivos);
        }
    }
}
